A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and/or describe matter which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
1. Field of the Invention
The present invention relates generally to image forming apparatuses and, more particularly, to methods and apparatuses for efficiently sending and processing a print job for an image forming apparatus.
2. Description of Related Art
Most contemporary operating systems, such as Microsoft Windows, permit a user to print a document on a printer from a networked computer workstation. The printing process typically comprises the user generating a printable document using an application program on a host computer. The host computer is often a computer workstation on a network. The application program sends the document to a printer driver, which, in conjunction with the operating system, converts the document into a language readable by the printer. The printer often comprises the combination of a printer controller coupled to a print engine. The document is then formatted by the printer controller and sent to the print engine for printing. Each step in this process is desirably performed in an efficient manner in order to minimize the time required for the printer to start outputting the document.
A printer driver is a software program or file that resides on the host computer, typically on the host computer""s hard drive and run from memory (e.g., RAM), rather than the printer itself. The driver takes into account the individual characteristics of a printer and converts graphics and text into device-specific data at the time of printing. A printer driver also gives the host computer and its user an understanding of the capabilities of the printer, so that all the printer features can be used.
The printer driver normally tells the host computer what printer language the printer uses, which fonts are built in, how many paper feeders it has, what sizes of paper it can support, whether it can print duplex, etc. The language used by a printer is the set of commands it obeys to format data sent from a computer. The host computer uses the printer driver to convert the document into data readable by the printer and to embed certain printer commands in the data. The driver then sends the document to the printer controller.
The printer controller commonly comprises a processor embedded in the printer that creates an image from commands it receives from the source of the document. The controller may also comprise a dedicated computer that is not embedded in the printer. The controller performs several tasks. For example, the controller: (a) communicates with the host computer; (b) interprets the commands embedded in the document to be printed; (c) formats the document, including setting the paper size, margins, selecting fonts etc.; and (d) rasterizes the document, in which the document is typically arranged into an array of dots ready for the printer. In the rasterizing stage, the controller converts the commands received from the formatter into an array of dots. It takes the bitmap for each character of text, and places it at the specified position in the array, then overlays the array with any bitmap graphics, to generate the pattern to be printed.
After the printer controller has processed the document, the printer controller finally passes the document to the print engine for printing. Alternately, the document is loaded in a print job queue. The print engine is the device that physically forms the generated image on a recording medium such as paper. The print engine cannot begin printing the document until it receives at least one page of generated image from the printer controller.
The first page out time (FPOT) for a document is the amount of time that it takes the print engine to begin printing the first page of a document from the time that the user first sends a print command. The FPOT is dependent on various factors, including the amount of time that the printer driver takes to process the document and send the document to the controller. The FPOT is also dependent on the amount of time that the controller takes to send a generated image to the print engine and the amount of time that the print engine takes to begin printing after it receives the document. Generally, it is desirable to reduce the FPOT so that a user can receive a print job as quickly as possible. For a short print job, the total print time may be dominated by the FPOT. Even for large jobs, a longer FPOT can give the impression of overall slowness.
The FPOT of a print job may be unnecessarily increased if any of the components in the printing process sit idle waiting for any of the other components to complete its tasks. This can be seen in the case of the FPOT for a face-up printer, which is generally longer than the FPOT for a face-down printer. A face-up printer prints a document with the first printed page facing upwardly. A face-up printer prints the document in reverse order (last page of the document printed first) so that the pages of the final printed document are arranged in the correct consecutive order for the user. A face-down printer prints a document with the first page facing downwardly. A facedown printer thus prints a document in forward order (first page of the document printed first) so that the pages of the final document are arranged in correct consecutive order for the user.
The reason that a face-up printer has a longer FPOT than a face-down printer is that a face-down printer can begin printing as soon as it receives image data from the host computer. The host computer transmits each page in the same order that the pages are printed by the face-down printer. To the contrary, a face-up printer, which prints from last page to first page, cannot begin printing until it receives the entire document from the host computer. This is because the face-up printer outputs pages in the opposite order from which they are output by the host computer. The printer engine therefore may be required sit idle while it is xe2x80x9cwaitingxe2x80x9d to receive the last page of the document from the controller. This is inefficient.
The previously described problems are solved by the method and apparatus described herein. One aspect of the invention relates to a method and apparatus for sending a document from a computer workstation to a multifunction peripheral (MFP) for printing, the MFP being communicatively coupled to a controller. The computer workstation and the controller process the document in a manner that allows the MFP to begin printing as soon as it receives image data from the controller in order to reduce down-time by the MFP.
A user at a computer workstation submits a document for printing and the computer workstation uses a printer driver to convert the document into a print file. The computer workstation then sends the print file to the controller, which processes the print file and submits it to the MFP for printing. Prior to sending the document to the controller, the computer workstation arranges the pages of the document in an order that allows the MFP to immediately begin printing upon receipt of the document from the controller. Specifically, the computer workstation arranges the pages of the document in a forward consecutive order if the multifunction peripheral prints in a face-down configuration and arranges the pages in a reverse consecutive order if the multifunction peripheral prints in a face-up configuration.
Additionally, upon receipt of the document from the computer workstation, the controller initially processes a portion of the document and then immediately sends the processed portion to the MFP. This allows the MFP to start printing the document as soon as it receives the first image data from the controller. The controller then processes the remainder of the document while the MFP is printing the initial processed portion, the remainder comprising the pages in the print job not present in the initial processing portion. The control unit then sends the remainder of the document to the multifunction peripheral for printing. The aforementioned process provides a reduced first page output time for a print job.
Still further objects and advantages attaching to the device and to its use and operation will be apparent to those skilled in the art from the following particular description.